One way of implementing a cache relies upon the use of a separate, valid array. A valid array indicates if specific entries within a cache that are valid. Typically, as is known in the prior art, for each access made to a cache, a read is made of the valid array to determine if the cache entry is valid before accepting the entry in the cache. This means that each time the cache is accessed, a separate read of the valid array is required.
As should be apparent, however, once all of the entries in a cache have been validated (i.e., all of the entries in the cache have been determined to be valid), the valid array no longer serves a purpose. Once each of the entries in the cache is validated, further reads of the valid array do not produce any result other than the already-determined fact that all of the entries are valid. As a result, further reads of the valid array consume power unnecessarily. Any further reads of the valid array are merely duplicative of prior processing steps.
As may be appreciated by those skilled in the art, reading of the valid array after all of the entries in the cache have been validated adds unnecessarily to the power consumed by the processor. This is considered to be wasteful.
As should be appreciated by those skilled in the art, the ability to reduce processor time and power consumption is desirable. Less processor time and lower power consumption contribute to a more efficient processor.